package com.i2silly.wxbot.server;

import com.alibaba.fastjson.JSON;
import com.i2silly.wxbot.config.RobotConfiguration;
import com.i2silly.wxbot.config.TempCache;
import com.i2silly.wxbot.constant.WxReplyConstant;
import com.i2silly.wxbot.constant.WxRobotConstant;
import com.i2silly.wxbot.entity.*;
import com.i2silly.wxbot.pojo.*;
import com.i2silly.wxbot.service.IBotChatroomService;
import com.i2silly.wxbot.service.IBotMonitorService;
import com.i2silly.wxbot.service.IConfAreaService;
import com.i2silly.wxbot.thread.HandleMessageTask;
import com.i2silly.wxbot.utils.PubUtils;
import com.i2silly.wxbot.utils.ReplyUtil;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.net.URI;
import java.text.DecimalFormat;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.Future;

/**
 * @program: wx-bot
 * @description：
 * @author: i2silly
 * @date: 2020年11月24日 15:05:53
 */
@Component
public class RobotWebsocketServer extends WebSocketClient {

    Logger logger = LoggerFactory.getLogger(RobotWebsocketServer.class);

    @Autowired
    private RobotServer server;

//    @Autowired
//    private RobotConfiguration robotConfig;
//
//    @Autowired
//    private IBotChatroomService botChatroomService;
//
//    @Autowired
//    private TempCache cache;
//
//    // 刷新所有信息
//    private boolean refresh = true;
//
//    @Autowired
//    private HandleMessageTask task;
//
//    @Autowired
//    private IConfAreaService confAreaService;
//
//    /**
//     * 上句接收消息记录
//     * key => 需要发送的wxid或群id
//     */
//    Map<String, WsReceive> lastReceiveLog = new HashMap<>();
//
//    @Autowired
//    private IBotMonitorService monitorService;
//
//    private Map<String, List<BotChatroom>> chatroomMember = new HashMap<>();
//
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");

    public RobotWebsocketServer() {
        super(URI.create(WxRobotConstant.WEBSOCKET_URL));
    }

    public RobotWebsocketServer(String url) {
        super(URI.create(url));
    }

    @Override
    public void onOpen(ServerHandshake serverHandshake) {

    }

    @Override
    public void onMessage(String s) {
        /*if (PubUtils.isNotEmpty(s)) {
            handleOnMessage(s);
        }*/
        if (null == server.getClient()){
            server.setClient(this);
        }
        server.handleOnMessage(s);
    }

    @Override
    public void onClose(int i, String s, boolean b) {
        // this.close();
    }

    @Override
    public void onError(Exception e) {

    }

//    /**
//     * 保存机器人
//     *
//     * @param s 机器人数据
//     * @return 是否
//     */
//    private boolean saveRobot(String s) {
//        Future<BotRobot> robotFuture = task.saveRobot(s);
//        try {
//            // 等待线程执行完毕
//            while (!robotFuture.isDone()) {
//                Thread.sleep(100);
//            }
//            BotRobot robot = robotFuture.get();
//            if (null != robot) {
//                robotConfig.setWxCode(robot.getWxCode());
//                robotConfig.setWxid(robot.getWxid());
//                robotConfig.setBotWechatId(robot.getId());
//                robotConfig.setName(robot.getNick());
//                if (!cache.getInit(WxRobotConstant.ROBOT_INIT)) {
//                    logger.info("初始化 发送获取联系人");
//                    sendGetContact();
//                    cache.addCache(WxRobotConstant.ROBOT_INIT, true);
//                }
//            }
//            return true;
//        } catch (Exception e) {
//            logger.error(e.getMessage(), e);
//            return false;
//        }
//    }
//
//    /**
//     * 保存所有联系人及群
//     *
//     * @param s
//     * @return
//     */
//    @Transactional(rollbackFor = Exception.class)
//    public boolean saveRobotContact(String s) {
//        try {
//            Future<Boolean> future = task.saveContactList(s);
//            while (!future.isDone()) {
//                logger.info("等待获取联系人线程执行结束");
//                Thread.sleep(100);
//            }
//
//            // 获取联系人缓存
//            Map<String, BotContact> contacts = cache.getContacts();
////            logger.info("联系人缓存：" + contacts);
//            if (future.get()) {
//                if (!cache.getInit(WxRobotConstant.CONTACT_INIT)) {
//                    // 获取群成员
////                    sendGetChatroom();
//                    cache.addCache(WxRobotConstant.CONTACT_INIT, true);
//                }
//            }
//            return future.get();
//        } catch (Exception e) {
//            logger.error(e.getMessage(), e);
//            return false;
//        }
//    }
//
//    /**
//     * 保存群成员所有数据
//     * 弃用
//     * @param s
//     * @return
//     */
//    @Transactional(rollbackFor = Exception.class)
//    @Deprecated
//    public boolean saveRobotChatroom(String s) {
//        if (PubUtils.isEmpty(s)) {
//            return false;
//        }
//        List<ChatroomMember> chatroomMembers = JSON.parseArray(s, ChatroomMember.class);
//        if (PubUtils.isEmpty(chatroomMembers)) {
//            return false;
//        }
//        Set<String> chatroomIds = cache.getSetCache(WxRobotConstant.CHATROOM_ID_CACHE);
//        // 定义存放所有线程回调的集合
//        List<Future<Boolean>> list = new ArrayList<>();
//        long start = System.currentTimeMillis();
//        for (ChatroomMember member : chatroomMembers) {
//            chatroomIds.add(member.getRoomid());
//            // 保存群成员
//            Future<Boolean> future = task.saveChatroom(member);
//            list.add(future);
//        }
//        // 等待所有线程执行结束
//        while (!PubUtils.isEmpty(list)) {
//            list.removeIf(Future::isDone);
//        }
//        // 线程执行完毕
//        logger.info("保存群成员线程执行完毕:" + (System.currentTimeMillis() - start) + "ms");
//        cache.addCache(WxRobotConstant.CHATROOM_ID_CACHE, chatroomIds);
//        delChatroom(chatroomIds);
//
//        if (!cache.getInit(WxRobotConstant.CHATROOM_INIT)) {
//            setMonitorWxids();
//            cache.addCache(WxRobotConstant.CHATROOM_INIT, true);
//        }
//        return true;
//    }
//
//    /**
//     * 保存群成员数据
//     *
//     * @param list 群成员
//     */
//    public boolean saveChatroomMember(List<BotChatroom> list) {
//        if (PubUtils.isEmpty(list)) {
//            return false;
//        }
//        try {
//            String chatroomWxid = list.get(0).getChatroomWxid();
//            // 缓存直接赋值
//            chatroomMember.put(chatroomWxid, list);
//            // 群成员
//            List<BotChatroom> chatrooms = botChatroomService.listByChatroomIdAndPid(chatroomWxid, robotConfig.getBotWechatId());
//            List<BotChatroom> insertList = new ArrayList<>();
//            if (PubUtils.isEmpty(chatrooms)) {
//                // 新增操作
//                for (BotChatroom chatroom : list) {
//                    if (PubUtils.hasSpecialChar(chatroom.getMemberName())) {
//                        chatroom.setMemberName("未识别");
//                    }
//                    chatroom.setId(PubUtils.getUUID());
//                    chatroom.setPid(robotConfig.getBotWechatId());
//                    insertList.add(chatroom);
//                }
//            } else {
//                // 修改
//                Map<String, BotChatroom> map = new HashMap<>();
//                for (BotChatroom chatroom : list) {
//                    if (PubUtils.hasSpecialChar(chatroom.getMemberName())) {
//                        chatroom.setMemberName("未识别");
//                    }
//                    chatroom.setId(PubUtils.getUUID());
//                    chatroom.setPid(robotConfig.getBotWechatId());
//                    map.put(chatroom.getMemberWxid(), chatroom);
//                }
//                Set<String> set = map.keySet();
//                List<String> delList = new ArrayList<>();
//                for (BotChatroom chatroom : chatrooms) {
//                    if (set.contains(chatroom.getMemberWxid())) {
//                        set.remove(chatroom.getMemberWxid());
//                    } else {
//                        delList.add(chatroom.getId());
//                    }
//                }
//                // 新增
//                if (PubUtils.isNotEmpty(set)) {
//                    for (String s : set) {
//                        insertList.add(map.get(s));
//                    }
//                }
//                if (PubUtils.isNotEmpty(delList)) {
//                    botChatroomService.removeByIds(delList);
//                }
//            }
//            if (PubUtils.isNotEmpty(insertList)) {
//                return botChatroomService.saveBatch(insertList);
//            }
//            return true;
//        } catch (Exception e) {
//            logger.error(e.getMessage(), e);
//            return false;
//        }
//    }
//
//    /**
//     * 删除 不在缓存内的群
//     *
//     * @return
//     */
//    public boolean delChatroom(Set<String> roomIds) {
//        String pid = robotConfig.getBotWechatId();
//        if (PubUtils.isEmpty(roomIds)) {
//            botChatroomService.delByPid(pid);
//            return true;
//        }
//        List<String> list = botChatroomService.distinctChatroomId(pid);
//        if (PubUtils.isNotEmpty(list)) {
//            List<String> delList = new ArrayList<>();
//            for (String s : list) {
//                if (!roomIds.contains(s)) {
//                    delList.add(s);
//                }
//            }
//            if (PubUtils.isNotEmpty(delList)) {
//                return botChatroomService.delByChatroomIds(pid, delList);
//            }
//        }
//        return true;
//    }
//
//    /**
//     * 设置监听缓存
//     */
//    public void setMonitorWxids() {
//        logger.info("进入设置监听....");
//        Set<String> monitorChatroomId = cache.getSetCache(WxRobotConstant.MONITOR_CHATROOM_CACHE);
//        Set<String> monitorWxids = cache.getSetCache(WxRobotConstant.MONITOR_WXID_CACHE);
//        Map<String, List<BotChatroom>> chatroomMember = cache.getChatrooms();
//        List<BotMonitor> monitors = monitorService.listByPid(robotConfig.getBotWechatId());
//        if (PubUtils.isNotEmpty(monitors)) {
//            for (BotMonitor monitor : monitors) {
//                if (monitor.getMonitorWxid().contains("@chatroom")) {
//                    monitorChatroomId.add(monitor.getMonitorWxid());
//                } else {
//                    monitorWxids.add(monitor.getMonitorWxid());
//                }
//            }
//        }
//        // 初始化发送内容
//        switch (robotConfig.getFirstInit()) {
//            case 0:
//                logger.info("发送所有,微信好友：" + monitorWxids + ",群：" + monitorChatroomId);
//                break;
//            case 1:
//                logger.info("发送群:" + monitorChatroomId);
//                break;
//            default:
//                // -1 不发送
//        }
//    }
//
//    /**
//     * 发送获取群成员请求
//     *
//     * @param roomId 群id
//     */
//    public void sendGetChatroomMember(String roomId) {
//        BaseSend data = new BaseSend();
//        data.setId(PubUtils.getTime(System.currentTimeMillis(), dtf));
//        data.setType(WxRobotConstant.GET_CHATROOM_MEMBER_TYPE);
//        data.setWxid("null");
//        data.setContent(roomId);
//        send(JSON.toJSONString(data));
//    }
//
//    /**
//     * 获取机器人信息
//     */
//    public void sendGetRobot() {
//        // 个人信息
//        BaseSend data = new BaseSend();
//        data.setId(PubUtils.getTime(System.currentTimeMillis(), dtf));
//        data.setType(WxRobotConstant.GET_SELF_INFO_TYPE);
//        data.setWxid("ROOT");
//        data.setContent("op:personal info");
//        send(JSON.toJSONString(data));
//    }
//
//    /**
//     * 获取联系人
//     */
//    public void sendGetContact() {
//        BaseSend data = new BaseSend();
//        data.setId(PubUtils.getTime(System.currentTimeMillis(), dtf));
//        data.setType(WxRobotConstant.GET_CONTACT_LIST_TYPE);
//        data.setWxid("null");
//        data.setContent("user list");
//        send(JSON.toJSONString(data));
//    }
//
//    /**
//     * 获取群成员，不含昵称
//     */
//    public void sendGetChatroom() {
//        BaseSend data = new BaseSend();
//        data.setId(PubUtils.getTime(System.currentTimeMillis(), dtf));
//        data.setType(WxRobotConstant.GET_CHATROOM_TYPE);
//        data.setWxid("null");
//        data.setContent("op:list member");
//        send(JSON.toJSONString(data));
//    }
//
    /**
     * 发送消息
     *
     * @param content 内容
     * @param wxid    微信id/群id
     */
    public void sendMessage(String content, String wxid) {
        if (PubUtils.isEmpty(content) || PubUtils.isEmpty(wxid)) {
            return;
        }
        BaseSend send = new BaseSend();
        send.setId(PubUtils.getTime(System.currentTimeMillis(), dtf));
        send.setType(WxRobotConstant.TXT_TYPE);
        send.setContent(content);
        send.setWxid(wxid);
        send(JSON.toJSONString(send));
    }
//
//    public void sendAtMessage() {
//
//    }
//
//    public void sendPic() {
//
//    }
//
//    /**
//     * 处理ws推送信息
//     *
//     * @param s 推送数据
//     */
//    public void handleOnMessage(String s) {
//        WsReceive receive = JSON.parseObject(s, WsReceive.class);
//        if (null == receive) {
//            return;
//        }
//        if (receive.getType() != 5005) {
//            logger.info(receive.toString());
//        }
//        try {
//            switch (receive.getType()) {
//                case 1:
//                    logger.info("接收到消息啦");
//                    execMessage(receive);
//                    break;
//                case 6500:
//                    // 保存机器人
//                    saveRobot(receive.getContent());
//                    break;
//                case 5000:
//                    // 保存联系人 2.9修改
//                    saveRobotContact(receive.getContent());
//                    break;
//                case 5010:
//                    // 获取群列表 废弃
//                    // saveRobotChatroom(receive.getContent());
//                    break;
//                case 5020:
//                    logger.info(s);
//                    /*if (PubUtils.isNotEmpty(receive.getContent())) {
//                        List<BotChatroom> botChatrooms = JSON.parseArray(receive.getContent(), BotChatroom.class);
//                        saveChatroomMember(botChatrooms);
//                    }*/
//                    break;
//                default:
//                    logger.info(s);
//                    // 初次获取个人信息及联系人信息
//                    if (PubUtils.isEmpty(robotConfig.getBotWechatId())) {
//                        // 个人信息
//                        sendGetRobot();
//                    }
//
//            }
//        } catch (Exception e) {
//            logger.info(e.getMessage(), e);
//        }
//    }
//
//    /**
//     * 处理收到的消息
//     *
//     * @param receive
//     */
//    public void execMessage(WsReceive receive) {
//        String sendWxId = receive.getSender();
//        String content = receive.getContent();
//        String receiver = receive.getReceiver();
//        String logKey = "";
//        if (receiver.contains("@chatroom")) {
//            logKey = receiver + "+" + sendWxId;
//        }else {
//            logKey = sendWxId;
//        }
//        WsReceive wsReceive = lastReceiveLog.get(logKey);
//        boolean flag = ReplyUtil.isSend(sendWxId, content, robotConfig.getWake(), wsReceive);
//        if (!flag) {
//            return;
//        }
//        // 唤醒机器人状态都为0
//        if (wsReceive == null || wsReceive.getCommand() == -1) {
//            receive.setCommand(0);
//        }
//        // 去掉两边空格
//        content = content.replaceAll("@"+ robotConfig.getName(),"").trim();
//        content = content.replaceAll(robotConfig.getWake(), "").trim();
//        content = content.replaceAll(" ", "").trim();
//        // 判断是否存在监听列表中
//        Set<String> monitorWxid = cache.getSetCache(WxRobotConstant.MONITOR_WXID_CACHE);
//        Set<String> charoomIds = cache.getSetCache(WxRobotConstant.MONITOR_CHATROOM_CACHE);
//        // 判断群是否存在监听列表 或者为监听人微信
//        if (charoomIds.contains(receiver) || (monitorWxid.contains(sendWxId) && "self".equals(receiver))) {
//            // 获取功能
//            String[] command = robotConfig.getCommand().split(",");
//            String sendContent = "";
//            if (charoomIds.contains(receiver)) {
//                sendWxId = receiver;
//            }
//            // 发送功能
//            if (PubUtils.contains(command, content)) {
//                receive.setCommand(0);
//                if (sendWxId.contains("@chatroom")) {
//                    lastReceiveLog.put(sendWxId +"+" + receive.getSender(), receive);
//                }else {
//                    lastReceiveLog.put(sendWxId, receive);
//                }
//                sendContent = ReplyUtil.getFunction();
//                // 若是群
//                sendMessage(sendContent, sendWxId);
//                return;
//            }
//            // 特殊命令处理
//            sendCommand(content, sendWxId, receive);
//        }
//    }
//
//    public void sendCommand(String content, String wxId, WsReceive receive) {
//        Map<String, List<BotChatroom>> chatrooms = cache.getChatrooms();
//        Map<String, BotContact> contacts = cache.getContacts();
//        String sendContent = "功能尚未开发，敬请期待";
//
//        switch (content) {
//            case "0":
//                receive.setCommand(-1);
//                if (PubUtils.isEmpty(contacts.get(wxId))) {
//                    sendContent = "哈哈哈哈，好搞笑呀，你竟然还没添加我这个堪比吴彦祖的小潘[裂开]";
//                }else {
//                    sendContent = "这个我想想怎么搞~容我规划一下，或者有什么建议可以提哟";
//                }
//                break;
//            case "1":
//                receive.setCommand(-1);
//                List<BotChatroom> chatroomList = chatrooms.get(wxId);
//                if (PubUtils.isEmpty(chatroomList)) {
//                    if (wxId.contains("@chatroom")) {
//                        sendContent = "当前群不支持统计人数，请稍后再试呀~";
//                    }else {
//                        sendContent = "咱们就好好聊天呀，干嘛惦记着群人数呢";
//                    }
//                }else {
//                    sendContent = ReplyUtil.getStatics(chatroomList.size() + 1);
//                }
//                break;
//            case "2":
//                receive.setCommand(-1);
//                sendContent = ReplyUtil.getCurTime();
//                break;
//            case "3":
//                receive.setCommand(3);
//                sendContent = "请输入要查询天气的地区";
//                break;
//            case "4":
//                receive.setCommand(4);
//                sendContent = "请输入基金名称或编号";
//                break;
//            case "5":
//                receive.setCommand(5);
//                sendContent = "请输入要进行倒计时的日期,时间格式(yyyy-MM-dd)";
//                break;
//            case "6":
//            case "7":
//            case "8":
//            case "9":
//                receive.setCommand(-1);
//                break;
//            default:
//                WsReceive wsReceive;
//                if (wxId.contains("@chatroom")) {
//                    wsReceive = lastReceiveLog.get(wxId + "+" + receive.getSender());
//                }else {
//                    wsReceive = lastReceiveLog.get(wxId);
//                }
//                if (null != wsReceive) {
//                    switch (wsReceive.getCommand()){
//                        case 3:
//                            // 天气
//                            sendContent = getWeather(content);
//                            receive.setCommand(-1);
//                            break;
//                        case 4:
//                            // 基金查询
//                            sendContent = getFound(content);
//                            receive.setCommand(-1);
//                            break;
//                        case 5:
//                            sendContent = getTimer(content);
//                            receive.setCommand(-1);
//                            break;
//                        default:
//                            // 其他
//                            if (receive.getCommand() != 0 && !"".equals(content)) {
//                                receive.setCommand(-1);
//                            }else {
//                                String[] str = {"我在听，你说", "有什么事哈", "快说别停"};
//                                sendContent = str[ReplyUtil.getRandom(str.length)];
//                            }
//                    }
//                }
//        }
//        if (wxId.contains("@chatroom")) {
//            lastReceiveLog.put(wxId +"+" + receive.getSender(), receive);
//        }else {
//            lastReceiveLog.put(wxId, receive);
//        }
//        sendMessage(sendContent, wxId);
//    }
//
//    private void sendOtherMess(String content, String wxId) {
//
//    }
//
//    /**
//     * 获取天气
//     *
//     * @param city
//     * @return
//     */
//    private String getWeather(String city){
//        if (PubUtils.isEmpty(city)) {
//            return "地区不能为空哈！";
//        }
//        ConfArea name = confAreaService.getLikeName(city);
//        if (PubUtils.isEmpty(name)) {
//            return "暂不支持该地区天气查询！";
//        }
//        Map<String, Object> param = new HashMap<>();
//        param.put("city", name.getCode());
//        param.put("key", WxRobotConstant.WEATHER_KEY);
//        String url = WxRobotConstant.WEATHER_DETAIL_URL;
//        String s = PubUtils.doGet(url, param);
//        if (PubUtils.isNotEmpty(s)) {
//            WeatherGaoDe weatherGaoDe = JSON.parseObject(s, WeatherGaoDe.class);
//            if (weatherGaoDe == null || !"1".equals(weatherGaoDe.getStatus()) || PubUtils.isEmpty(weatherGaoDe.getLives())) {
//                return "没有找到该地区天气";
//            }
//            WeatherGaoDe.Lives lives = weatherGaoDe.getLives().get(0);
//            String sendData = "为您查询到  " + lives.getProvince() + lives.getCity() +"天气：" + lives.getWeather() + "，当前气温：" + lives.getTemperature() + "℃，空气湿度：" + lives.getHumidity() + "，" + lives.getWinddirection() + "风" + lives.getWindpower() +"级";
//            return sendData;
//        }else {
//            return "没有找到该地区天气";
//        }
//    }
//
//    /**
//     * 获取基金
//     * @param content
//     * @return
//     */
//    public String getFound(String content) {
//        if (PubUtils.isEmpty(content)) {
//            return "亲，要查询的信息不能为空哟~";
//        }
//        String s = PubUtils.doGet(WxRobotConstant.FOUND_DETAIL_URL, null);
//        if (PubUtils.isEmpty(s)) {
//            return "数据源异常，请联系程序猿粑粑排查哟~";
//        }
//        List<FoundInfo> foundInfos = JSON.parseArray(s, FoundInfo.class);
//        if (PubUtils.isEmpty(foundInfos)) {
//            return "数据源异常，请联系程序猿粑粑排查哟~";
//        }
//        String res = "查不到【"+ content + "】的信息，请核对后输入吧，凑猪~" ;
//        StringBuilder sb = new StringBuilder();
//        sb.append("为您查询到以下结果：\n\n");
//        int num = 1;
////        BigDecimal b;
//        String time = "";
//        for (FoundInfo foundInfo : foundInfos) {
//            if (foundInfo != null) {
//                if (content.equals(foundInfo.getSymbol()) || (PubUtils.isNotEmpty(foundInfo.getName()) && foundInfo.getName().contains(content))) {
//                    String data = PubUtils.doGet(WxRobotConstant.TT_FOUND_URL + foundInfo.getSymbol() + ".js", null);
//                    String ttData = getTTFoundDetail(data);
//                    if (PubUtils.isEmpty(ttData)){
//                        continue;
//                    }
////                    sb.append()
////                    b = BigDecimal.valueOf(Double.parseDouble(foundInfo.getPercent()));
//                    sb.append(num).append(". ").append(foundInfo.getName()).append("【").append(foundInfo.getSymbol()).append("】\n").append(ttData);
//                    /*.append("  最新净值：").append(foundInfo.getLastNav()).append("，当前估值：").append(foundInfo.getPreNav()).append(", 涨幅：").append(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue()).append("%").append("\n");*/
//                    time = foundInfo.getPreDate() + " " + foundInfo.getPreTime();
//                    num++;
//                    if (num > 3) {
//                        // 终止循环
//                        break;
//                    }
//                }
//
//            }
//        }
//        if (num > 1) {
//            sb.append(WxReplyConstant.DELIMITER).append("\n").append("以上数据来自天天基金~\n").append("时间：").append(time);
//        }
//        return num > 1 ? sb.toString() : res;
//    }
//
//    /**
//     * 获取天天基金详情
//     * @param data
//     * @return
//     */
//    private String getTTFoundDetail(String data) {
//        if (PubUtils.isEmpty(data)){
//            return "";
//        }
//        String s = data.replaceAll("jsonpgz\\(", "");
//        s = s.substring(0,s.length() -2);
//        TTFound ttFound = JSON.parseObject(s, TTFound.class);
//        if (ttFound == null) {
//            return "";
//        }
//        //.append("  最新净值：").append(foundInfo.getLastNav()).append("，当前估值：").append(foundInfo.getPreNav()).append(", 涨幅：").append(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue()).append("%").append("\n");
//        return "  最新净值：" + ttFound.getDwjz() + "，当前估值：" + ttFound.getGsz() + ", 涨幅：" + ttFound.getGszzl() + "%\n";
//    }
//
//    public String getTimer(String time) {
//        // yyyy-MM-dd正则
//        if (time.matches("^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$")){
//            time = time + " 00:00:00";
//        }
//        if (!time.matches("((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\\s(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$")){
//            return "时间格式不正确，例如:2020-01-01" ;
//        }
//        long timestamp = PubUtils.toMillisecondsTimestamp(time);
//        long curTime = System.currentTimeMillis();
//        long abs = Math.abs((curTime - timestamp)/1000);
//        long year = abs / (60 * 60 * 24 * 365);
//        long day = abs % (60 * 60 * 24 * 365) / (60 * 60 * 24);
//        long hour = abs % (60 * 60 * 24 * 365) % (60 * 60 * 24) / 3600;
//        long min = abs % (60 * 60 * 24 * 365) % (60 * 60 * 24) % 3600 / 60;
//        long sec = abs % (60 * 60 * 24 * 365) % (60 * 60 * 24) % 3600 % 60;
//        return "时间差：" + year + "年" + day +"天" + hour + "时" + min + "分" + sec +"秒";
//    }
//
//    public boolean isRefresh() {
//        return refresh;
//    }
//
//    public void setRefresh(boolean refresh) {
//        this.refresh = refresh;
//    }
}
